home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / util / misc / ispell31.lha / ispell-3.1.18src / Amiga / interfaces / GUISpell-1.1 / GUISpell.doc < prev    next >
Text File  |  1992-09-27  |  13KB  |  295 lines

  1. Welcome to GUISpell-1.1 by Loren J. Rittle (rittle@comm.mot.com).
  2.  
  3. Please note that my email address has changed to rittle@comm.mot.com
  4. from l-rittle@uiuc.edu.  Mail addressed to l-rittle@uiuc.edu is
  5. currently being forwarded to my new address, but will not be for
  6. much longer.
  7.  
  8. [Warning: you must have AmigaOS release 2.04 (with ARexx running) or
  9.  later to use GUISpell.  This program makes use of many 2.04 features
  10.  and there will never be a version of GUISpell that works with pre-2.04.]
  11.  
  12. GUISpell is a graphical front end to ISpell-3.1ljr (or later) [with
  13. ARexx server mode/port added by yours truly] or to any spelling
  14. checker that adheres to the standard ``Spell Checker ARexx Interface''
  15. as first described in ISpell documentation and more recently in a
  16. UseNet message posted by myself on `Mon, 23 Mar 92 10:32:37 GMT' to
  17. comp.sys.amiga.applications (see file, entitled usenet_posts, which
  18. contains the three messages I posted to UseNet on the subject).
  19.  
  20. This is the second public release of GUISpell.  This software package is
  21. Copyright © 1991, 1992  Loren J. Rittle (rittle@comm.mot.com)
  22. GUISpell is now covered under the GNU General Public License which
  23. is included in the file COPYING.  Please read this license if you
  24. aren't familiar with the terms.  Basically, use and enjoy.  Hack on
  25. it and enjoy.  Share the software with your friends and let them
  26. enjoy.  Just be sure to make the source code available to anyone
  27. you pass a binary on to.
  28.  
  29. [Although this package works closely with ISpell (or some other spell
  30.  checker backend) via ARexx, it is a completely separate product with
  31.  a different original author and different use license.  The fact that
  32.  it may be included with ISpell is irrelevant.]
  33.  
  34. DISCLAIMER:
  35. This software is provided 'as-is', without warranty of any kind,
  36. either expressed or implied.  In no event will I, Loren J. Rittle,
  37. be liable for direct, indirect, incidental or consequential damages
  38. or data loss resulting from the use or application of this software.
  39. The entire risk as to the results and performance of this software
  40. is assumed by you.
  41.  
  42. This program is distributed in the hope that it will be useful,
  43. but WITHOUT ANY WARRANTY; without even the implied warranty of
  44. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  45.  
  46. Special thanks to Mike Schwartz (mykes@amiga0.sf-bay.org) for his PD
  47. GadTools Example that was posted to alt.sources.amiga on `11 Nov 91
  48. 12:14:43 PST'.  Thanks so much Mike, your example inspired me to write
  49. this!
  50.  
  51. I also wish to thank Chris A. Wichura (caw@miroc.chi.il.us) for being
  52. a beta tester and for writing some TurboText macros that play with
  53. ISpell and GUISpell.  Thanks to Eddy Carroll for Small.a (I now use
  54. cres.o, but thanks).  Thanks to Michael Jansson for smallIFFparse (a
  55. sub-set of IFFparse that is Freely Redistributable) and sample code.
  56. Thanks to Radical Eye Software for MinRexx (which is used almost
  57. unchanged in ISpell and with some modification to allow an application
  58. to send ARexx commands and receive string responses in GUISpell).
  59.  
  60. Thanks finally to people who worked on the Amiga port of ISpell before
  61. I received it and added the ARexx Server Mode:
  62. Luis Soltero
  63. Tomas Rokicki of Radical Eye Software
  64.  
  65. Although I said before there would only be one such release of GUISpell:
  66. This is the second public release of GUISpell.  The reason is that
  67. not enough interest in a real supported version of GUISpell was
  68. apparent.  The fact I just moved from the schooling world to the
  69. working world has a bit to do with this as well... :-)
  70.  
  71. Thanks to the many people who wrote in response to GUISpell 1.0.
  72. This second released version is almost the same as 1.0 with a
  73. few new ARexx commands ('jump' to new public screen) and is
  74. now licensed under the GNU General Public License.  If you have
  75. found the work I have done on ISpell (general enhancements and
  76. addition of ARexx port) and GUISpell (my original work) to be of
  77. great use to you, then just be happy to know that I needed to
  78. do all of this for myself anyways since I'm such a lousy speller
  79. and needed the damn tools myself. :-)  If you really feel the
  80. need to do something nice for me, consider buying more Motorola
  81. products so my stock will go up... <grin>
  82.  
  83. Please send information about any programs (or the actual macros) you
  84. have made or make to interface with this package:  ISpell and GUISpell
  85. (if you look at the examples that I provide, you will note that
  86. requests to 'IRexxSpell' and 'GUISpell' are intertwined --- it is now
  87. assumed that if you have ISpell, you will also have GUISpell).  Please
  88. give yourself credit in the macros' header comment.  I will include
  89. them in a future release of ISpell / GUISpell.
  90.  
  91. Every interface to ISpell / GUISpell that I know of is currently included
  92. in this package except:  I have heard of a set of macros that play with
  93. ProWrite.  I would like them, so I can include them in this package.
  94.  
  95. Currently, GUISpell makes no attempt to fire up ISpell, thus you must
  96. make sure that it is up and running before GUISpell tries to request
  97. ISpell services.  If you forget to start ISpell, currently the screen
  98. will flash when GUISpell tries to send ISpell a message.  You may
  99. start up ISpell and retry the GUISpell operation, no harm done...
  100.  
  101.  
  102. This is a rough manual to GUISpell:
  103.  
  104. GUISpell - The GUI:
  105.  
  106. These are brief notes to get you going, play around a bit.
  107.  
  108. This release of GUISpell only supports public screens as
  109. follows:  first try to open on CED's screen if available,
  110.       else try to open on WorkBench screen.
  111. The JUMP ARexx command can later be used to move GUISpell to a new screen.
  112.  
  113. Lookup Style-
  114.  
  115. Spell:   uses address 'IRexxSpell' check <current word in user text area>
  116.          to generate a list of replacement words in the list view area
  117.          when a `check' is requested (see below).
  118. Reg exp: uses address 'IRexxSpell' lookup ...
  119. Exact:   uses address 'IRexxSpell' quickcheck ...
  120.  
  121. Auto-Clip-
  122.  
  123. [If turned on]
  124. Turns on the clipboard hooks!  When another application places text
  125. IFF data into the clipboard, GUISpell will take the new data from the
  126. clipboard and place it into the user text area.  The new data is then
  127. checked with the currently selected Lookup Style.  There is a discriminator
  128. filter that will not latch new data if it looks like more than one word.
  129. In cases that are discriminated against, the user must manually invoke
  130. the `from clip' operation by hitting the From Clip button.  This mode works
  131. great with Snap's ability to snap a word into the clipboard.
  132.  
  133. Likewise, when the user selects a replacement word from the list view area,
  134. the word is transferred to the clipboard.
  135.  
  136. Add button-
  137.  
  138. Adds the current word in the user text area to the personal dictionary,
  139. using the address 'IRexxSpell' add ... command of ISpell.
  140. [If no personal dictionary was found at startup time, then one is created
  141. by ISpell.  Consult ISpell documentation, as I think that there may be
  142. some differences based upon version.  The version I currently use likes to
  143. create and find the personal dictionary in the directory pointed to by
  144. env:HOME and then in S: (if env:HOME is not set).]
  145.  
  146. User text area-
  147.  
  148. There are many ways that this field can be set.  The most direct way is
  149. for the user to click inside the field and type new data.  Standard
  150. Amiga-Q/Amiga-X handling is performed.  Hitting return while the text
  151. cursor is anywhere in the field will start a spell check with the currently
  152. set Lookup Style.
  153.  
  154. Do button-
  155.  
  156. Alternate way to start a spell check with the currently set Lookup Style.
  157.  
  158. From Clip button-
  159.  
  160. The manual way to get data from the clipboard.  The new data is then
  161. checked with the current Lookup Style.  There is a discriminator
  162. filter that will not *check* (note how this is different from the
  163. discriminator on the auto-clip action) new data if it looks like more than
  164. one word.  In cases that are discriminated against, the user must manually
  165. invoke the `Do' operation by hitting the Do button.
  166.  
  167. To Clip button-
  168.  
  169. The manual way to put data into the clipboard.  The current text in the
  170. user text area is transferred to the clipboard.
  171.  
  172. List View area-
  173.  
  174. The user can view available replacement words after a check is completed
  175. by using the available scoll bar.  If a word is clicked upon, then it
  176. is transferred to the user text area (a REXX call back and an auto-clip action
  177. may take place also).
  178.  
  179. This area can be hidden from view with the ZOOM gadget.  It is
  180. restored in the same manner as hiding, another click on the ZOOM
  181. gadget.
  182.  
  183. The first entry in the list view is a solo character form the table below
  184. (OR "yes" or "no", if in exact mode):
  185. [This is a temp kludge.  See future issues below. -Loren]
  186. [Excerpt taken from man/ispell.1:]
  187. If the word was found in the main dictionary, or your personal dictionary,
  188. then the line contains only a '*'.  If the word was found through suffix
  189. removal, then the line contains a '+', a space, and the root word.  If the
  190. word is not in the dictionary, but there are near misses, then the line
  191. contains an '&', a space, and a list of the near misses separated by
  192. spaces.
  193.  
  194. Also, each near miss is capitalized the same as the input word if unless
  195. such capitalization is illegal; in the latter case each near miss is
  196. capitalized correctly according to the dictionary.  Finally, if the word
  197. neither appears in the dictionary, and there are no near misses, then the
  198. line contains only a '#'.  This mode is also suitable for interactive use
  199. when you want to figure out the spelling of a single word.
  200.  
  201. GUISpell - The ARexx interface:
  202.  
  203. [This public release of GUISpell only supports one ARexx port name.
  204.  The name of the port is 'GUISpell'.]
  205.  
  206. CHECK <word>
  207.  
  208.   Inserts <word> into the user's edit window and initiates an async
  209.   spell check upon the word.  The list view is updated once the request
  210.   has been satisfied by ISpell.  Returns the string, "ok".
  211.  
  212.   NOTE: Returns right after initiating the spell request.  GUISpell
  213.   doesn't wait for the return from ISpell.  Use the IRexxSpell interface
  214.   if you want to directly spell check a word.  Currently, the lookup style
  215.   is always `Spell' (even if the user has set some other mode via the
  216.   GUI).
  217.  
  218. JUMP <public screen name>
  219.  
  220.   Tries to close the current GUISpell window and reopen on the named
  221.   public screen.
  222.  
  223. CURRENTTEXT
  224.  
  225.   Returns, in string form, the current user selected text (i.e. the
  226.   text in the user's edit window).
  227.  
  228. CHECKCALLBACKHOOK <path:path/.../file.rexx> <parameters>
  229.  
  230.   If a check call back hook is not already present, this ARexx message
  231.   causes GUISpell to install a call back hook that is activated ONCE
  232.   AND ONLY ONCE when a user clicks on a replacement word.
  233.   Returns the string "installed" or "notinstalled" depending upon if
  234.   a hook could be installed.
  235.  
  236.   NOTE:  Currently, the rexx call back with parameters should be less than
  237.   512 bytes of data.  If a request to install a call back with more than
  238.   512 bytes of data is found, it will fail with a "notinstalled" return.
  239.  
  240. VERSION
  241.  
  242.   A short version string is returned with a list of all supported ARexx
  243.   commands.
  244.  
  245. EXIT
  246.  
  247.   Causes GUISpell to terminate after replying to the request.
  248.   Returns the string "bye".
  249.  
  250.  
  251. WARNING: I did find a nasty bug in Snap 1.61 that *will* cause a
  252. system crash if the IFF text in the clipboard has an ANNO chunk after
  253. the the data chunk!  Mail has been sent to Snap's author, but after
  254. months, I still haven't heard a reply.  Surprisingly, ASDG's cb2rx has
  255. a problem (not a crash inducing error) with ANNO chunks in IFF text
  256. also!  Needless to say, I don't put ANNO chunks in the IFF files
  257. anymore.
  258.  
  259.  
  260.  
  261. Features on the WishList:
  262.  
  263. Ability to specify which public screen to open on at startup time.
  264.  
  265. Move (jump) between public screens via ARexx and GUI.
  266.  
  267. Support for more than one GUISpell being open (ARexx port stuff fails
  268. currently in the free public release) and ability to name the ARexx
  269. port GUISpell should use.
  270.  
  271. Ability to specify name of backend spell server's ARexx port to
  272. connect to a startup time and dynamically via GUI and ARexx.
  273.  
  274. Ability to start a backend spell server via GUI.
  275.  
  276. Support for user specified window/zoom coordinates.
  277.  
  278. More power exposed to ARexx interface.
  279.  
  280. True `hide window' state (ARexx or commodity HotKey brings back) in
  281. addition to `zoom window'.
  282.  
  283. Fix of the List View Solo Character on First Line kludge.  That is,
  284. the list view is only used to list replacement words and the result of
  285. a spell check is displayed in another (cleaner) manner.
  286.  
  287. If you use ISpell, please give this beast a work out.  Feel free to
  288. tell me what you like and hate about the implementation (proposed and
  289. actual).  New feature ideas will be welcomed.
  290.  
  291. Regards and thanks for reading this document (in its rough form :-),
  292. Loren J. Rittle
  293. rittle@comm.mot.com
  294. Sun Sep 27 21:47:10 1992
  295.